# 创建format文件系统大小函数
format = (size) ->
    if size >= 1024*1024*1024
        return (size/(1024*1024*1024)).toFixed(2) + ' GB'
    else if 1024*1024*1024 > size and size >= 1024*1024
        return (size/(1024*1024)).toFixed(2) + ' MB'
    else
        return (size/1024).toFixed(2) + ' KB'

$ ->
    # 引入并解析window对象
    mem = JSON.parse(window.mem)

    # 基于准备好的dom，初始化echarts实例
    mem_chart = echarts.init(document.getElementById('mem'))

    # 指定图表的配置项和数据
    option = {
        # 标题
        title : {
            text: '内存使用情况',
            subtext: '内存总量：' + mem.total + ' B',
            subtextStyle: {
                color: 'blue'
            }
            x:'center',
        },
        # 鼠标悬停提示框
        tooltip: {
            trigger: 'item',
            # 判断内存大小来选择使用GB/MB/KB
            formatter: (params) ->
                value = format params.value
                return params.seriesName + '<br/>' + params.name + '：' +
                       value + ' (' + params.percent + '%)'
        },
        # 图形内容
        series: [ {
            name:'交换区使用情况',
            type:'pie',
            selectedMode: 'single',
            radius: [0, '35%'],
            center: ['50%','60%'],
            label: {
                normal: {
                    position: 'inner'
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data:[
                {
                    value:mem.swapfree,
                    name:'可用交换区',
                    # selected:true,
                    itemStyle: {
                        normal: {
                            color: '#00A600'
                        }
                    }
                },
                {
                    value:mem.swapused,
                    name:'已用交换区',
                    itemStyle: {
                        normal: {
                            color: '#FF7575'
                        }
                    }
                },
            ]
        }, {
            name:'内存使用情况',
            type:'pie',
            radius: ['45%', '60%'],
            center: ['50%','60%'],
            data:[
                {
                    value:mem.free,
                    name:'可用内存',
                    selected:true,
                    itemStyle: {
                        normal: {
                            color: 'green'
                        }
                    }
                },
                {
                    value:mem.used,
                    name:'已用内存',
                    itemStyle: {
                        normal: {
                            color: '#AE0000'
                        }
                    }
                }
            ]
        } ]
    }

    # format总内存总量
    total = format mem.total
    option.title.subtext = '内存总量：' + total

    # format总交换区总量
    swaptotal = format mem.swaptotal
    option.title.subtext += '，交换区总量：' + swaptotal

    # 使用刚指定的配置项和数据显示图表
    mem_chart.setOption(option)
